export default {
    namespaced: true,
    state: {
        // 控制是否弹出
        isShowToast: false,
        // toast的内容
        toastMsg: "默认内容",
        // toast的类型(success代表成功, danger代表失败, info代表警告)
        toastType: "success"

    },
    mutations: {
        // 控制Toast弹窗是否展示，如果是展示就需要传入提示内容和icon类型
        changeIsShowToast(state, {
            isShow,
            msg,
            type
        }) {
            state.isShowToast = isShow;
            state.toastMsg = msg;
            state.toastType = type;
        }
    },
    actions: {
        // 因为抽取的弹窗显示有异步操作，所以再actions写入
        asyncChangeIsShowToast({
            commit
        }, payload) {
            commit('changeIsShowToast', {
                isShow: true,
                msg: payload.msg,
                type: payload.type
            }) 
            setTimeout(() => {
                // 1.5秒后隐藏提示框
                commit('changeIsShowToast', {
                    isShow: false,
                    msg: payload.msg,
                    type: payload.type
                })
            }, 1500)
        }
    }
}